#ifndef KOPIEC_HH
#define KOPIEC_HH

#include <iostream>
#include <cstdlib>
#include <cstdio>
#include <time.h>
#include <sys/time.h>
using namespace std;

class Kopiec
{
	int *t;
	int rozmiar;
	int n;

	typedef unsigned long long timestamp; // zmiena przechowujaca czas;

	// funkcja do mierzenia czasu
	static timestamp gettimestamp(){
		struct timeval now;
		gettimeofday(&now,NULL);
		return now.tv_usec+(timestamp)now.tv_sec*1000000;
	}

	public:
		Kopiec()
		{
			t = NULL;
			n = 0; //ile elementow juz jest
			rozmiar=0;//rozmiar tablicy
		}

		void heap();
		void poka();
		void tab();
		void insert (int e);
		int max();
		void deletemax();
		void downheap (int t[], int k, int n);
		void upheap (int t[], int k);
		void exch (int &a, int &b);
		void performance(int tab[], int sizetab,int tabadd[], int sizeadd);
		double addperformance(int tab[], int sizetab,int tabadd[], int sizeadd);
		double deleteperformance(int tab[], int sizetab);
		void wyczysc();
};

#endif
